<?php 
class Sedf_Filter_FiltrarAnexo implements Zend_Filter_Interface
{
    public function filter($value)
    {
        $extensao   = substr($value, -4);
        if (strlen($value) == 4) {
            $value = 'Sem_Nome'.$extensao;                      # Evitar que o arquivo fique sem nome
        }
        
        //-- Removendo acentos...
        $rm_ace = new Sedf_Filter_RemoverAcentos();
        $value  = $rm_ace->filter($value);        
        
        //-- removendo todos os outros caracteres especiais que podem existir...
        $value  = str_replace("áàãâéêíóôõúüçÁÀÃÂÉÊÍÓÔÕÚÜÇ ", "aaaaeeiooouucAAAAEEIOOOUUC ", $value);
        $value  = str_replace('%20', '_', $value);		# Corrige problemas no nome
        $value  = str_replace('th_', 'th', $value);             # Corrige problemas no nome
        $value  = str_replace('@', '', $value);                 # Corrige problemas no nome
        $value  = str_replace('#', '', $value);                 # Corrige problemas no nome
        $value  = str_replace('$', '', $value);                 # Corrige problemas no nome
        $value  = str_replace('^', '', $value);                 # Corrige problemas no nome
        $value  = str_replace('&', '', $value);                 # Corrige problemas no nome
        $value  = str_replace(';', '', $value);                 # Corrige problemas no nome
        $value  = str_replace('*', '', $value);                 # Corrige problemas no nome
        $value  = str_replace('(', '_', $value);                 # Corrige problemas no nome
        $value  = str_replace(')', '_', $value);                 # Corrige problemas no nome
        $value  = str_replace('%', '', $value);                 # Corrige problemas no nome
        $value  = str_replace(' ', '_',$value);                 # Corrige problemas no nome
        $value  = str_replace('.', '_', substr($value, 0, -4)); # Corrige problemas no nome

        return $value.$extensao;
    }
    
    public static function filtro($value)
    {
        $Anexo = new Sedf_Filter_FiltrarAnexo();
        return $Anexo->filter($value);
    }
}